Skip to content

Add country and payout currency to developer onboarding#296

Merged
simonhamp merged 2 commits intomainfrom
stripe-connect-country
Mar 24, 2026
Merged

Add country and payout currency to developer onboarding#296
simonhamp merged 2 commits intomainfrom
stripe-connect-country

Conversation

@simonhamp
Copy link
Member

Summary

  • Adds country and payout currency selection to the Stripe Connect developer onboarding flow
  • Supports all 108 Stripe Connect Express account countries with reactive currency selection
  • Uses Flux Pro searchable listbox for the country dropdown (108 countries)
  • Displays human-readable currency names (e.g. "US Dollar (USD)") in the currency selector
  • Requests card_payments capability alongside transfers to support all countries including cross-border (fixes JP/cross-border account creation error)
  • Uses the developer's selected payout currency for transfers instead of hardcoded USD
  • Installs livewire/flux-pro for the searchable select component
  • Updates CLAUDE.md with correct dependency versions (Filament v5, Livewire v4)

Key changes

  • Migration: Adds country and payout_currency columns to developer_accounts
  • StripeConnectCountries: New support class with 108 countries, currency names, and validation
  • Onboarding Livewire component: Reactive country/currency selection with auto-default currency
  • DeveloperOnboardingController: Validates country/currency, passes to Stripe account creation
  • StripeConnectService: Passes country to Stripe, uses payout currency for transfers, adds card_payments capability

Test plan

  • Unit tests for StripeConnectCountries (15 tests covering all methods and data integrity)
  • Feature tests for onboarding validation (country required, invalid country rejected, currency required, invalid currency for country rejected)
  • Feature tests for country/currency storage and Livewire reactivity
  • All 52 related tests passing (1037 assertions)

🤖 Generated with Claude Code

Collect the developer's country and preferred payout currency during
Stripe Connect onboarding. This ensures Express accounts are created
with the correct country parameter and enables multi-currency payouts
for European/EEA countries.

- Add country (108 Stripe-supported countries) and payout_currency
  fields to developer_accounts table
- Add StripeConnectCountries support class with country data, currency
  names, and validation methods
- Update Livewire Onboarding component with reactive country/currency
  selection
- Use Flux Pro searchable listbox for the country dropdown
- Display currency names (e.g. "US Dollar (USD)") in the currency select
- Request card_payments capability alongside transfers to support all
  countries including cross-border (fixes JP account creation error)
- Add comprehensive validation in DeveloperOnboardingController
- Pass country to Stripe Connect account creation
- Use developer's payout_currency for transfers instead of hardcoded USD
- Install livewire/flux-pro for searchable select component
- Update CLAUDE.md with correct dependency versions (Filament v5,
  Livewire v4, PHP 8.4.19)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@simonhamp simonhamp marked this pull request as ready for review March 24, 2026 21:56
- Configure Flux Pro Composer auth in GitHub Actions workflows using
  FLUX_EMAIL and FLUX_LICENSE_KEY secrets
- Remove duplicate onboarding incomplete message from hero card text
- Move warning callout to top of page for better visibility

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@simonhamp simonhamp merged commit 5f70fec into main Mar 24, 2026
2 checks passed
@simonhamp simonhamp deleted the stripe-connect-country branch March 24, 2026 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant